Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.security
Class AlgorithmParametersSpi

    java.lang.Object
      |
      +--java.security.AlgorithmParametersSpi

public abstract class AlgorithmParametersSpi
extends Object

This class defines the Service Provider Interface (SPI) for the `AlgorithmParameters` class, which is used to manage algorithm parameters.

All the abstract methods in this class must be implemented by each cryptographic service provider who wishes to supply parameter management for a particular algorithm.

Since:
  1.2
See Also:
  `AlgorithmParameters`, `AlgorithmParameterSpec`, `DSAParameterSpec`

Constructor Summary
`AlgorithmParametersSpi()`

Method Summary
`protected abstract byte[]` | `engineGetEncoded()` Returns the parameters in their primary encoding format.
`protected abstract byte[]` | `engineGetEncoded(String format)` Returns the parameters encoded in the specified format.
`protected abstract AlgorithmParameterSpec` | `engineGetParameterSpec(Class paramSpec)` Returns a (transparent) specification of this parameters object.
`protected abstract void` | `engineInit(AlgorithmParameterSpec paramSpec)` Initializes this parameters object using the parameters specified in `paramSpec`.
`protected abstract void` | `engineInit(byte[] params)` Imports the specified parameters and decodes them according to the primary decoding format for parameters.
`protected abstract void` | `engineInit(byte[] params, String format)` Imports the parameters from `params` and decodes them according to the specified decoding format.
`protected abstract String` | `engineToString()` Returns a formatted string describing the parameters.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AlgorithmParametersSpi

    public AlgorithmParametersSpi()

Method Detail

### engineInit

    protected abstract void engineInit(AlgorithmParameterSpec paramSpec)
                                throws InvalidParameterSpecException

  Initializes this parameters object using the parameters specified in `paramSpec`.

  Parameters:
    `paramSpec` - the parameter specification.
  Throws:
    `InvalidParameterSpecException` - if the given parameter specification is inappropriate for the initialization of this parameter object.

### engineInit

    protected abstract void engineInit(byte[] params)
                                throws IOException

  Imports the specified parameters and decodes them according to the primary decoding format for parameters. The primary decoding format for parameters is ASN.1, if an ASN.1 specification for this type of parameters exists.

  Parameters:
    `params` - the encoded parameters.
  Throws:
    `IOException` - on decoding errors

### engineInit

    protected abstract void engineInit(byte[] params,
                                       String format)
                                throws IOException

  Imports the parameters from `params` and decodes them according to the specified decoding format. If `format` is null, the primary decoding format for parameters is used. The primary decoding format is ASN.1, if an ASN.1 specification for these parameters exists.

  Parameters:
    `params` - the encoded parameters.
    `format` - the name of the decoding format.
  Throws:
    `IOException` - on decoding errors

### engineGetParameterSpec

    protected abstract AlgorithmParameterSpec engineGetParameterSpec(Class paramSpec)
                                                              throws InvalidParameterSpecException

  Returns a (transparent) specification of this parameters object. `paramSpec` identifies the specification class in which the parameters should be returned. It could, for example, be `DSAParameterSpec.class`, to indicate that the parameters should be returned in an instance of the `DSAParameterSpec` class.

  Parameters:
    `paramSpec` - the the specification class in which the parameters should be returned.
  Returns:
    the parameter specification.
  Throws:
    `InvalidParameterSpecException` - if the requested parameter specification is inappropriate for this parameter object.

### engineGetEncoded

    protected abstract byte[] engineGetEncoded()
                                        throws IOException

  Returns the parameters in their primary encoding format. The primary encoding format for parameters is ASN.1, if an ASN.1 specification for this type of parameters exists.

  Returns:
    the parameters encoded using the specified encoding scheme.
  Throws:
    `IOException` - on encoding errors.

### engineGetEncoded

    protected abstract byte[] engineGetEncoded(String format)
                                        throws IOException

  Returns the parameters encoded in the specified format. If `format` is null, the primary encoding format for parameters is used. The primary encoding format is ASN.1, if an ASN.1 specification for these parameters exists.

  Parameters:
    `format` - the name of the encoding format.
  Returns:
    the parameters encoded using the specified encoding scheme.
  Throws:
    `IOException` - on encoding errors.

### engineToString

    protected abstract String engineToString()

  Returns a formatted string describing the parameters.

  Returns:
    a formatted string describing the parameters.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.